Component({
  options: {
    multipleSlots: true
  },
  properties: {
    loadingText: { // 加载中的文案
      type: String,
      value: '正在加载中...'
    },
    text: { // 加载完成的文案
      type: String,
      value: '—— 已是底线 ——'
    },
    url: { // 页脚跳转链接
      type: String,
      value: ''
    },
    navigateTo: { //跳转方式
      type: String,
      value: ''
    },
    bgColor: { // 页脚背景颜色
      type: String,
      value: 'none'
    },
    color: { // 页脚字体文本颜色
      type: String,
      value: '#999'
    },
    size: { // 页脚文本字体尺寸
      type: [Number, String],
      value: 13
    },
    loaded: { // 是否已加载完成
      type: Boolean,
      value: false
    },
    isFix: { // 页脚是否固定在底部
      type: Boolean,
      value: false
    }
  },
  data: {
    fix: false //判断是否采用固定布局
  },
  lifetimes: {
    attached: function () {
      if (this.data.isFix) {
        this.checkFixed();
      }
    }
  },
  methods: {
    //检查是否需要固定布局
    checkFixed() {
      let {windowHeight} = wx.getSystemInfoSync();
      setTimeout(() => { 
        this.createSelectorQuery().select("#footer").boundingClientRect((res) => {
          if (!res) return;
          let top = res.top;
          let height = windowHeight - res.height;
          if (top < height) {
            this.setData({
              fix: true
            })
          }
        }).exec();
      }, 100);
    },
    onClick() {
      if (this.data.url) {
        switch (this.data.navigateTo) {
          case 'redirectTo':
            wx.redirectTo({
              url: this.data.url
            });
            break;
          case 'switchTab':
            wx.switchTab({
              url: this.data.url
            });
            break;
          case 'reLaunch':
            wx.reLaunch({
              url: this.data.url
            });
            break;
          default:
            wx.navigateTo({
              url: this.data.url
            });
        }
      } else {
        this.triggerEvent('click')
      }
    }
  }
})